package br.cesed.lti.ementol.beans;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import cc.co.taciano.webbase.bean.Bean;

/**
 * Classe que representa a entidade período do sistema CesuWeb.
 * @author Taciano Morais Silva
 */
@Entity
@Table(name = "periodo")
public class Periodo implements Bean, Serializable {

    /**
     * serialVersionUID.
     */
    private static final long serialVersionUID = 60318054752639052L;

    public static final String ATIVO = "ativo";

    public static final String CONCLUIDO = "concluido";

    /**
     * Identificador do período.
     */
    @Id
    @Column(name = "id")
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Integer id;

    /**
     * Identificador do semestre.
     */
    @Column(name = "semestre")
    private Integer semestre;

    /**
     * Data de Início do Semestre.
     */
    @Column(name = "data_inicio")
    private Date dataInicio;

    /**
     * Data de Término do Semestre.
     */
    @Column(name = "data_final")
    private Date dataFinal;

    /**
     * Status do período.
     */
    @Column(name = "status")
    private String status;

    public Periodo () {
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getSemestre() {
        return semestre;
    }

    public void setSemestre(Integer semestre) {
        this.semestre = semestre;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Date getDataInicio() {
        return dataInicio;
    }

    public void setDataInicio(Date dataInicio) {
        this.dataInicio = dataInicio;
    }

    public Date getDataFinal() {
        return dataFinal;
    }

    public void setDataFinal(Date dataFinal) {
        this.dataFinal = dataFinal;
    }
}
